"""
更新文档数据
"""
import os
import sys

path = os.path.dirname(__file__)
sys.path.append(os.path.join(path, '..'))

from bson import ObjectId
from conf.mongo_conf import BASIC_DATA_DB
from conf.config import COMPANY_STAFFS_MIN_LIST


class UpdateDocument(object):
    company_staffs_min = BASIC_DATA_DB[COMPANY_STAFFS_MIN_LIST]

    def update_one_by_id(self):
        """根据ID更新一条数据"""
        self.company_staffs_min.update_one(
            {'_id': ObjectId('61f0e459db890963ed6bcc98')},
            {'$set': {'name': 'id更新一条数据name'}}
        )

    def update_one(self):
        """根据条件更新一条数据"""
        self.company_staffs_min.update_one(
            {'sex': 1},
            {'$inc': {'age': 10}, '$set': {'name': '递增10岁name'}}   # age字段递增10岁
        )

    def update_many(self):
        self.company_staffs_min.update_many(
            {'sex': 0},
            {'$inc': {'age': 10}}   # age字段递增10岁
        )

    def run(self):
        self.update_one_by_id()     # 根据ID更新一条数据
        self.update_one()   # 根据条件更新一条数据
        self.update_many()  # 根据条件更新多条数据


if __name__ == '__main__':
    update_document = UpdateDocument()
    update_document.run()
